package com.zby.demo.dao;

import com.zby.demo.entity.Course;
import com.zby.demo.entity.SelectCourseStudents;
import com.zby.demo.entity.Student;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author ChrisPhantom
 * @CreateDate 2020/12/14 23:03
 */

@Mapper
public interface CourseDao {
    //增加课程
    void addCourse(@Param("course") Course course);

    //删除课程
    void deleteCourse(@Param("CourseID") String CourseID);

    //删除选某门课的所有选课记录
    void deleteSelectCourse(@Param("CourseID") String CourseID);

    //删除学生所有选课记录
    void deleteSelectCourseById(@Param("StudentID") String StudentID);

    //修改课程
    void updateCourse(@Param("course") Course course);

    //为学生录入成绩
    void updateStudentScore(@Param("courseId") String courseId, @Param("studentId") String stduentId, @Param("score1") String score1, @Param("score2") String score2);

    //根据课程ID查询单个课程
    Course queryCourseByID(@Param("CourseID") String CourseID);

    //查询所有课程
    List<Course> queryAllCourse();

    //查询某个课程的所有学生
    List<Student> queryCourseStudentsByID(@Param("CourseID") String CourseID);

    //查询某个课程的所有平时成绩
    List<Double> queryCourseStudentScore1s(@Param("CourseID") String CourseID);

    //查询某个课程的所有期末成绩
    List<Double> queryCourseStudentScore2s(@Param("CourseID") String CourseID);

    //查询所有课程对应选课学生
    List<SelectCourseStudents> selectCourseStudents();
}
